#pragma once

namespace gtl
{

template<class T>
class assigner
{
public:
	assigner(T& t, const T& value)
		: m_t(t)
		, m_value(value)
	{
	}

	~assigner()
	{
		m_t = m_value;
	}

protected:
	T& m_t;
	T m_value;
};

} // end of namespace gtl